package chapter07

/**
 * 1）说明
 * （1）List 默认为不可变集合
 * （2）创建一个 List（数据有顺序，可重复）
 * （3）遍历 List
 * （4）List 增加数据
 * （5）集合间合并：将一个整体拆成一个一个的个体，称为扁平化
 * （6）取指定数据
 * （7）空集合 Nil
 */
object Test04_List {
  def main(args: Array[String]): Unit = {
    //1、创建
    var list = List(23, 45, 78)
    println(list)

    //2、索引赋值不行
    //list(1) = 20

    //3、访问遍历、foreach 的循环
    list.foreach(e => {
      println(e)
    })

    //4、添加元素、 前+ 对应前、后+ 对应后
    val list1 = 10 +: list
    val list2 = list :+ (24)

    println(list1)
    println(list2)


    println("----------5、 .:: 往前添加-----------------")
    val list4 = list2.::(51)
    println(list4)


    println("----------6、 Nil.:: 相当于创建新的数组-----------------")
    val list5 = Nil.::(51)
    println(list5)

    println("----------7、扩展 添加元素另外一种创建新列表的方式 -----------------")
    val list6 = 32 :: Nil
    val list7 = 17 :: 28 :: 59 :: 16 :: Nil

    println(list6)
    println(list7)


    println("----------8、合并列表 -----------------")

    val list8 = list6 :: list7
    println(list8)   //List(List(32), 17, 28, 59, 16)


    val list9 = list6 ::: list7
    println(list9) //List(32, 17, 28, 59, 16)

    val list10 = list6 ++ list7
    println(list10) //List(32, 17, 28, 59, 16)
  }
}
